The advancement of automated computation faces a fundamental problem: energy consumption. The most fundamental building block of binary computation is a switch, a device which models the state of a system as “0” or “1”. Each time a computation is performed by a computing unit, switches transition and store a new state consuming energy and generating heat. Many applications making computations operate under a finite amount of available energy or have a finite limit on the amount of heat that can be dissipated. Thus, improving energy efficiency of computing units while maintaining or improving computational integrity is an industry-wide concern.